<div id="content">
	<h1>验证及过滤</h1>
	<p class="mg_t_10">
	　　访问控制验证过滤器是检查当前用户是否能执行访问的 <strong>controller</strong> 和 <strong>action</strong> 的初步授权模式。这种授权模式基于用户名，用户组、角色、客户IP地址和访问类型等等。
	</p>
	<h1>访问控制过滤器</h1>
	<p class="mg_t_10">
	　　在控制器（control）里重载 <strong>dpControl::rules</strong> 方法设置访问过滤器来控制访问动作，需要注意的是，超级管理员不受任何影响：
	</p>
	<pre class="syntax php">&lt;?php
	class IndexControl extends dpControl
	{
		function rules()
		{
			return array(
				array(
					'access' => 'allow',
					'actions'=> array(login'),
					'user'   => '?',
				),
				array(
					'access'  => 'allow',		    //allow 允许   deny 拒绝
					'limit'	  => 'whole',		    //限制验证访问, user用户 group组 whole不限制
					'actions' => array('*'),		//验证的action
					'user'    => '@',			    //允许的用户类型 ?未登录 @已登陆 *所有
					'roles'   => array('vip'),		//允许的角色
					'filter'  => array(				//以下是通过上面条件的用户进行过滤
						//不允许IP
						'ip'	  => array('127.0.0.5-127.0.0.255'),
						//不允许的用户
						'username'=> array('user_1','user_2'),
						//自定义函数过滤，该函数必须返回true，在本身的控制器内定义方法即可。
						'method'  => ''
					),
				),
				array(
					'access' => 'deny',
					'actions' => array('logManage'),
					'user'   => '*',
				),
				
	        );
	    }
	}
?&gt;</pre>
	<p class="mg_t_10">
	　　上面设定了三个规则，每个用个数组表示。数组的第一个元素不是 <strong>'allow'</strong> 就是 <strong>'deny'</strong> ，其他的是名-值成对形式设置规则参数的。上面的规则这样理解：第一条只允许未登陆用户访问 <strong>login</strong> 动作；第二条规则为该控制器内所有动作都需要验证，且必须是登陆的，角色为 <strong>VIP</strong> 的，如果通过这些验证，还要对用户进行过滤，不允许用户名为 <strong>user_1</strong> 和 <strong>user_2</strong> ，IP必须是 <strong>127.0.0.1 - 127.0.0.4</strong>的用户才可以访问；第三条拒绝所有用户访问 <strong>logManage</strong> 动作，但 <strong>超级管理员</strong> 不受任何影响，依然可以访问。 
	</p>
	<h1>使用业务规则</h1>
	<p class="mg_t_10">
	　　要执行权限检查，我们首先需要知道动作的名字。例如，要检查当前用户是否可以创建帖子，我们需要检查他是否拥有 create 所表示的权限。 然后我们调用 dpUser::checkAccess 执行权限检查：
	</p>
	<pre class="syntax php">&lt;?php
	if(D::app()->user()->checkAccess('create'))
	{
		//新建帖子
	}
?&gt;</pre>
</div>
<script type="text/javascript">
$(function() {
	jQuery.syntax();
});
</script>